package top.pengdong.pictureShare.userAuth.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;

/**
 * 用户表
 * 
 * @author chenshun
 * @email pengshi12138@outlook.com
 * @date 2022-04-18 18:23:15
 */
@Data
@TableName("t_users")
public class TUsersEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 唯一主键
	 */
	@TableId
	private Long id;
	/**
	 * 用户名
	 */
	@NotBlank(message = "用户名不能为空")
	@Length(min = 2, max = 10)
	private String username;
	/**
	 * 性别
	 */
	@NotBlank(message = "性别不能为空，只能为男或者女")
	private String gender;

	@TableField(exist = false)
	private String ipAddress = "广东省 汕尾市";
	/**
	 * 年龄
	 */
	@NotBlank(message = "年龄不能为空")
	private Integer age;
	/**
	 * 电话
	 */
	private String phone;
	/**
	 * 状态1 和 0的状态进行 使用条件的判断
	 */
	private Integer status;
	/**
	 * 头像图片
	 */
	private String avatar;
	/**
	 * 邮箱地址
	 */
	@Email
	@NotBlank(message = "邮箱不能为空")
	private String email;
	/**
	 * 昵称
	 */
	@NotBlank(message = "昵称不能为空")
	private String nickname;

	/**
	 * 地址
	 */
	private String address;
	/**
	 * 姓
	 */
	private String firstName;

	/**
	 * 名
	 */
	private String lastName;

	/**
	 * 背景图片
	 */
	private String backgroundImg;
	/**
	 * 自我介绍
	 */
	private String description;

	/**
	 * 权限
	 */
	@Null
	@TableField(exist = false)
	private String role;
	/**
	 * 密码
	 */
	@Null
	@TableField(exist = false)
	@JsonIgnore
	private String password;

	@TableField(fill = FieldFill.INSERT)
	private Date createTime;
}
